/**
 * Used to package and output gzip. Note that this does not work properly in Vite, the specific reason is still being investigated
 * gzip压缩
 * https://github.com/anncwb/vite-plugin-compression
 */
import type { Plugin } from 'vite';
import compressPlugin from 'vite-plugin-compression';

export default function configCompressPlugin(compress: 'gzip' | 'brotli', deleteOriginFile = false): Plugin | Plugin[] {
	const plugins: Plugin[] = [];

	if (compress === 'gzip') {
		plugins.push(
			compressPlugin({
				ext: '.gz',
				deleteOriginFile
			})
		);
	}

	if (compress === 'brotli') {
		plugins.push(
			compressPlugin({
				ext: '.br',
				algorithm: 'brotliCompress',
				deleteOriginFile
			})
		);
	}
	return plugins;
}
